Page({
  data: {
    activeTab: 'phone', // 当前激活的登录方式
    phone: '', // 手机号
    password: '', // 密码
    isPhoneFormValid: false, // 手机号表单是否有效
    isPolicyAgreed: false, // 用户是否同意隐私政策
    mockUsers: {} // 模拟用户数据
  },

  onLoad() {
    // 检查本地是否已有登录状态
    const isLogin = wx.getStorageSync('isLogin');
    if (isLogin) {
      // 已登录，直接跳转到个人中心
      wx.switchTab({
        url: '/pages/user/user'
      });
      return;
    }

    // 加载预设用户数据
    const localUsers = wx.getStorageSync('users');
    if (localUsers) {
      this.setData({ mockUsers: localUsers });
    } else {
      // 使用预设用户数据（无需注册）
      const defaultUsers = {
        '13058133505': {
          password: '123456',
          nickname: '荔枝',
          avatar: '/image/mine/headerImg.jpg',
          createTime: Date.now() - 3600000, // 1小时前创建
          isDefault: true // 标记为默认用户
        }
      };
      this.setData({ mockUsers: defaultUsers });
      wx.setStorageSync('users', defaultUsers);
    }
  },

  // 切换到手机号登录
  switchToPhoneLogin() {
    this.setData({ activeTab: 'phone' });
  },

  // 切换到微信登录
  switchToWechatLogin() {
    this.setData({ activeTab: 'wechat' });
  },

  // 手机号输入
  onPhoneInput(e) {
    const phone = e.detail.value;
    this.setData({ phone });
    this.validatePhoneForm();
  },

  // 密码输入
  onPasswordInput(e) {
    const password = e.detail.value;
    this.setData({ password });
    this.validatePhoneForm();
  },

  // 验证手机号登录表单
  validatePhoneForm() {
    const { phone, password } = this.data;
    const isPhoneValid = /^1[3-9]\d{9}$/.test(phone);
    const isPasswordValid = password.length >= 6;
    this.setData({ isPhoneFormValid: isPhoneValid && isPasswordValid });
  },

  // 隐私政策勾选变化
  onPolicyChange(e) {
    const isAgreed = e.detail.value.includes('policy');
    this.setData({ isPolicyAgreed: isAgreed });
  },

  // 手机号密码登录
  onPhoneLogin(e) {
    const { phone, password, mockUsers } = this.data;
    
    // 检查用户是否存在
    if (!mockUsers[phone]) {
      wx.showToast({
        title: '用户不存在，请使用预设账号登录',
        icon: 'none',
        duration: 3000
      });
      return;
    }
    
    // 验证密码
    if (mockUsers[phone].password !== password) {
      wx.showToast({
        title: '密码错误',
        icon: 'none'
      });
      return;
    }
    
    // 登录成功，保存用户信息到本地
    wx.showLoading({
      title: '登录中...',
      mask: true
    });
    
    setTimeout(() => {
      wx.setStorageSync('userInfo', {
        userId: 'user_' + phone,
        phone,
        nickName: mockUsers[phone].nickname,
        avatarUrl: mockUsers[phone].avatar,
        createTime: mockUsers[phone].createTime,
        lastLoginTime: new Date().getTime()
      });
      wx.setStorageSync('isLogin', true);
      
      wx.hideLoading();
      
      // 跳转到个人中心
      wx.switchTab({
        url: '/pages/user/user',
        success: () => {
          wx.showToast({
            title: '登录成功',
            icon: 'success'
          });
        }
      });
    }, 800);
  },

  // 微信授权登录
  onWechatLogin() {
    if (!this.data.isPolicyAgreed) {
      wx.showToast({
        title: '请先同意隐私政策',
        icon: 'none'
      });
      return;
    }
    
    // 显示加载状态
    wx.showLoading({
      title: '授权中...',
      mask: true
    });
    
    // 模拟授权过程
    setTimeout(() => {
      // 创建微信用户信息
      const wechatUser = {
        userId: 'wechat_' + new Date().getTime(),
        nickName: '微信用户', // 微信昵称
        avatarUrl: '/image/mine/Default Avatar.jpg', // 微信头像
        phone: '未绑定手机号', // 默认未绑定手机号
        createTime: new Date().getTime(),
        lastLoginTime: new Date().getTime(),
        loginType: 'wechat'
      };
      
      // 保存用户信息
      wx.setStorageSync('userInfo', wechatUser);
      wx.setStorageSync('isLogin', true);
      
      // 隐藏加载状态
      wx.hideLoading();
      
      // 跳转到个人中心
      wx.switchTab({
        url: '/pages/user/user',
        success: () => {
          wx.showToast({
            title: '登录成功',
            icon: 'success'
          });
        }
      });
    }, 1000);
  }
});